package com.ksm.zyz.common.util;


import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * Created by zhangdelin on 2015/11/24 0024.
 */
public class LbsAmapUtil {


    public static Logger logger = LoggerFactory.getLogger(LbsAmapUtil.class);

    private static double EARTH_RADIUS = 6378.137;

    //行驶距离测量API服务地址
    private final static String APISERVICEIP="http://restapi.amap.com/v3/distance?";

    //请求服务权限标识
    private final static String KEY="&key=eb753aec927366bcf5fd6cc35f167830";

    private final static String OUTPUT="&output=json";

    private final String ORIGINS="origins=";

    private final String DESTINATION="&destination";

    private static double rad(double d)
    {
        return d * Math.PI / 180.0;
    }

//    public Double getUserDistance(double lat1, double lng1, double lat2, double lng2){
//
//        DecimalFormat df=new DecimalFormat("######0.00");
//        double radLat1 = rad(lat1);
//        double radLat2 = rad(lat2);
//        double a = radLat1 - radLat2;
//        double b = rad(lng1) - rad(lng2);
//        double s;
//        s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2) +
//                Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2)));
//        s = s * EARTH_RADIUS;
//        s = Double.valueOf(df.format(s));
//        return s;
//    }

//    public List<UserCoordinate> getUserDistanceByCoordinate(List<UserCoordinate> userCoordinateList, String setOutLL){
//
//        //格式转换，保留两位小数
//        DecimalFormat df=new DecimalFormat("######0.00");
//
//
//        //遍历用户集合，发单用户和被查找用户距离
//        for (int i=0;i<userCoordinateList.size();i++){
//            //userCoordinate=userCoordinates.get(i);
//
//            //拼接请求高德的url
//            String json=loadJSON(APISERVICEIP+ORIGINS+setOutLL+DESTINATION+userCoordinateList.get(i).getAreaLL()+OUTPUT+KEY);
//
//            ObjectMapper mapper = new ObjectMapper();
//
//            try {
//
//                JsonNode jsonNode= mapper.readTree(json.toString());
//
//                Float dist=Float.valueOf(jsonNode.findValue("distance").toString().replace("\"",""));
//
//                //获取到的距离设置给用户的距离属性
//                userCoordinateList.get(i).setDistance(Double.valueOf(df.format(dist/1000)));
//
//            } catch (Exception e) {
//                e.printStackTrace();
//            }
//        }
//
//
//
//        return userCoordinateList;
//    }

//    public static void main(String[] args){

//        DecimalFormat df=new DecimalFormat("######0.00");
//
//        String url="http://restapi.amap.com/v3/distance?origins=104.068186,30.618566&destination=104.28964,30.241282&output=json&key=eb753aec927366bcf5fd6cc35f167830";
//        String json=loadJSON(url);
//
//
//        ObjectMapper com.ksm.app.mapper = new ObjectMapper();
//
//
//        try {
//            JsonNode jsonNode= com.ksm.app.mapper.readTree(json.toString());
//
//            Float test=Float.valueOf(jsonNode.findValue("distance").toString().replace("\"",""));
//
//            logger.info("input test{}",json);
//            logger.info("距离：{}公里",Float.valueOf(df.format(test/1000)));
//        } catch (Exception e) {
//            e.printStackTrace();
//        }

//        User user=new User();
//        user.setName("大喇叭");
//        user.setAge(26.35);
//        User user2=new User();
//        user2.setName("十多个");
//        user2.setAge(75.65);
//        User user3=new User();
//        user3.setName("色鬼");
//        user3.setAge(12.01);
//        User user4=new User();
//        user4.setName("多个");
//        user4.setAge(88.02);
//        List<User> list=new ArrayList<User>();
//
//        list.add(user);
//        list.add(user2);
//        list.add(user3);
//        list.add(user4);
//
//
//        Collections.sort(list, new Comparator<User>() {
//            @Override
//            public int compare(User o1, User o2) {
//                return o1.getAge().compareTo(o2.getAge());
//            }
//        });

//        for(int i=0;i<list.size();i++){
//
////            if(u.getAge()>30){
////                list.remove(u)
////            }
//            if(list.get(i).getAge()>30){
//                list.remove(i);
//            }
////            System.out.println(u.getAge()+"test"+list.indexOf(u));
//        }

//        for(User u:list){
//           if(u.getAge()>30){
//               list.remove(list.indexOf(u));
//           }
//        }
//
//        for(User u:list){
//            System.out.println(u.getAge());
//        }

//        for(User u:list){
//            System.out.println(u.getAge());
//
//
//        }
//        System.out.println("********************");
//        for (int i=list.size()-1;i>2;i--){
//            list.remove(i);
//        }
//
//        for(User u:list){
//            System.out.println(u.getAge());
//        }

//    }

//    /**
//     * 传入请求高德map的url获取返回的json
//     * @param url
//     * @return
//     */
//    public static String loadJSON(String url){
//        StringBuilder json=new StringBuilder();
//
//        try {
//
//            URL lbsUrl=new URL(url);
//            URLConnection connection=lbsUrl.openConnection();
//            BufferedReader buf=new BufferedReader(new InputStreamReader(connection.getInputStream()));
//
//            String inputLine=null;
//
//            while((inputLine=buf.readLine())!=null){
//                json.append(inputLine);
//
//            }
//            buf.close();
//
//
//        } catch (MalformedURLException e) {
//            e.printStackTrace();
//        }catch (IOException e){
//            e.printStackTrace();
//        }
//
//        return json.toString();
//    }


}
